Web Real-Time Communication (WebRTC) is a protocol enabling direct interactive rich browser-to-browser communication (e.g., voice calling, video chat and P2P file sharing) using Real-time Transport Protocol (RTP) sessions between user equipments (UEs) without requiring the UEs to have complex browser plugins installed therein. With WebRTC capability built in a web browser, a web based application can instruct the web browser to make a real time voice or video connection to another WebRTC capable UE using an RTP session.
FIGS. 1A and 1B illustrate conventional real-time communication systems.
As illustrated in FIG. 1A, in WebRTC, a shared RTP session transmitted over a shared in-band data channel is utilized to exchange a plurality of different types of media packets (e.g., audio packets and video packets) over a media instance between UEs on a shared User Datagram Protocol (UDP) port. A receiver may need to differentiate between the plurality of media packets to provide different ones of the plurality of media packets to different processing engines.
As further illustrated in FIG. 1A, to differentiate between the plurality of media packets, the receiver may receive, over an out-of-band signaling channel, information on the media instance associated with a Synchronization Source (SSRC) that identifies an associated media instance (e.g. a SSRC-to-media instance binding) such that upon receiving a data packet, over the data channel, containing the SSRC, the receiver can determine which processing engine should process the media instance. For example, the receiver may utilize the SSRC-to-media instance binding to determine that a specific SSRC is associated with a type of audio engine.
Further, to synchronize different associated media instances with each other, the receiver may need to have knowledge of canonical names (CNAMEs) that uniquely identifies the UEs across the different media instances (e.g. a SSRC-to-CNAME binding). For example, the SSRC-to-CNAME binding may bind an audio instance with an associated video instance to synchronize a multimedia session.
To establish the SSRC and CNAME, the UE wishing to transmit the media instance (e.g., the source) may advertise the SSRC-to-media instance binding and the SSRC-to-CNAME binding using an out-of-band method, for example, over Session Description Protocol (SDP) messages on a discrete signaling channel.
However, as illustrated in FIG. 1B, in a communication session between UEs where one of the UEs is not WebRTC compliant, the non-compliant UE may be unable to support the exchange of the binding information, namely the transmission over the signaling channel of the SSRC-to-media instance binding and the SSRC-to-CNAME binding.
Further, even if both UEs are WebRTC compliant, intermediate devices within the IMS network may not be WebRTC compliant and may thus the SSRC and CNAME information may be lost in transmission.